#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

//int main()
//{
//	int n = 1;
//
//	while (n <= 100)
//	{
//		
//		if (0 == n % 3)
//		{
//			printf("%d ", n);
//		}
//
//		n++;
//	}
//
//	return 0;
//}


//int main()
//{
//	int arr[3];
//	int t = 1;
//	int m = 0;
//	int n = 0;
//
//	while (n < 3)
//	{
//		scanf("%d", &arr[n]);
//		n++;
//	}
//	
//	while (t < 3)
//	{
//		int i = 0;
//
//		while (i < 3 - t)
//		{
//
//			if (arr[i] < arr[i+1])
//			{
//				m = arr[i];
//				arr[i] = arr[i+1];
//				arr[i+1] = m;
//			}
//
//			i++;
//		}
//
//		t++;
//	}
//
//	n = 0;
//
//	while (n < 3)
//	{
//		printf("%d ", arr[n]);
//		n++;
//	}
//
//	return 0;
//}


//int main()
//{
//	int i = 100;
//
//	while (i <= 200)
//	{
//		int t = 2;
//		
//		while (t < i)
//		{
//			
//			if (0 == i % t)
//			{
//				break;
//			}
//			
//			if (t == i - 1)
//			{
//				printf("%d ", i);
//			}
//
//			t++;
//		}
//
//		i++;
//	}
//
//	return 0;
//}


//int main()
//{
//	int year = 1000;
//
//	while (year <= 2000)
//	{
//		
//		if (year % 100 != 0)
//		{
//
//			if (0 == year % 4)
//			{
//				printf("%d ", year);
//			}
//
//		}
//		else
//		{
//
//			if (0 == year % 400)
//			{
//				printf("%d ", year);
//			}
//
//		}
//
//		year++;
//	}
//
//	return 0;
//}


int main()
{
	int a = 0;
	int b = 0;
	int r = 0;
	scanf("%d%d", &a, &b);
	r = a % b;
	
	while (r != 0)
	{
		a = b;
		b = r;
		r = a % b;
	}

	printf("%d\n", b);

	return 0;
}